﻿namespace NumericalData.Exceptions


///Vectors Exceptions
exception VectorConstructorArrayIsNullException
exception VectorsHaveDifferentLengthsException of int*int
exception VectorDivisionByZeroException
exception VectorReplaceElementsIndexesIsOutOfRangeException of int*int
exception VectorItemIndexIsOutOfRangeException of int

///Matrixs Exceptions
exception MatrixConstructorArrayIsNullException
exception MatrixConstructorArrayHasDifferentInnerLengthsException
exception MatrixInnerArraySetterHasDifferentInnerLengthsException
exception MatrixMultiplexionDimentionException of int*int
exception MatrixOperationDimentionException
exception MatrixDivisionByZeroException
exception MatrixToVectorDimentionsException of int
exception MatrixItemIndexIsOutOfRangeException of int*int
exception MatrixSquareMatrixDimentionCastException of int*int
// funcName*index
exception MatrixRowIndexIsOutOfRangeException of string*int
// funcName*index
exception MatrixColumnIndexIsOutOfRangeException of string*int
exception MatrixReplaceRowsIndexesIsOutOfRangeException of int*int
exception MatrixReplaceColsIndexesIsOutOfRangeException of int*int
exception MatrixColumnDivisionByZeroException
exception MatrixRowDivisionByZeroException

///SquareMatrixs Exceptions
exception SquareMatrixConstructorArrayDimentionsException
exception SquareMatrixDiagonalMatrixDivisionByZeroException
